const express = require('express')
// 导入路径
const app = new express()
// 像api 访问路径之前,对路径进行校验,中间件
// 访问其他的路由之间,可以做校验,或者是在req添加数据
// 其他的路由都能拿到,对传递的参数,进行检测,或者是加工
// 中间里边的request和response,是共享的
const mv1 = function (req, res, mynext) {
  req.header.Authorization = 'token'
  req.query.name = req.query.name.replace('操','*')
  // 调用next()方法,告诉路由继续向下走
  mynext()
}

const mv2 = function (req, res, mynext) {
  req.header.Authorization = 'token'
  req.query.age = 20
  // 调用next()方法,告诉路由继续向下走
  mynext()
}
// // 全局中间件
// app.use(mv)



// 单个中间件
app.get('/query',mv1,(request,response) => {
  console.log('中间件')
  console.log(request.header.Authorization)
  response.send(request.query)
})

// 多个中间件
app.get('/query2',mv1,mv2,(request,response) => {
  console.log('中间件')
  console.log(request.header.Authorization)
  response.send(request.query)
})
// 多个中间件数组
app.get('/arr',[mv1,mv2],(request,response) => {
  console.log('中间件')
  console.log(request.header.Authorization)
  response.send(request.query)
})



app.listen(90, (params) => {
	console.log('服务器启动了')
	console.log('当前目录的绝对路径node自带的环境变量window', __dirname)
})
